The invention relates to a device for supplying or making microcommands available for at least two mutually independent functional units in an integrated microprogrammed electronic module and, more specifically, with a respective microcommand address register and a respective microinstruction register for each of the functional units, and a method for operating the same.
An integrated high-performance DMA controller ADMA (advanced direct memory access) has four mutually independent channels which accomplish data transfer between media (peripherals, memories) and, generally, between data sources and data sinks. The channels are independent of one another insofar as they obtain their control parameters (for example, addresses of the data source and the data sink, address counting direction, number of bytes, comparison bit pattern) from control registers assigned thereto, which are loaded with values from control blocks of a so-called organization memory. The spectrum of tasks is the same for all channels. One or more channels can take over additional functions as multiplexer channels.
In spite of the independence of the channels or, more generally, functional units, it is desirable to construct as many resources as possible only once, and to let all channels use these resources. This takes into consideration space and propagation time. This is accomplished, for example, for reasons of physical/system engineering at the input/output interface of the integrated microprogrammed electronic module, because only one set of data and address pins (contact pins) is available. this common utilization (sharing) of resources, however, means that strictly speaking, the channels cannot operate simultaneously, but only in the pipeline mode.
The main control of the channels or more generally, of the functional units, is taken over by microprograms which, when starting the respective channel, read the necessary information from the organization memory, perform internal administrative tasks, control the data transfer per se, and finally store control information again, for example, status, in the organization memory.
Because the channels operate independently, the control information is also needed four times and, for performance reasons (transfer rate, reaction time to transfer requests), the requirements exist that the channel-specific microcommand or general microcommand specific to functional units is immediately ready with selection i.e. prioritization, of the respective channel, and that the respective channel, after the execution of each microcommand, can be interrupted by prioritization of another channel, and that microcommands can run sequentially without time delay.
It is an object of the invention to provide a device for supplying or making microcommands available for a least two mutually independent functional units of the foregoing general type and a method for operating the same, which ensures a high transfer rate and a short reaction time to transfer requests.